# If...else task Final
## Описание
Данный проект создан для конкурса if...else — IT-Планета 2024 на второй этап. 

## Развернутое приложение
<a href="http://bulattim.tplinkdns.com/">bulattim.tplinkdns.com</a>

## Стек технологий
1. Python 3.11
2. fastapi
3. peewee ORM
4. PostgreSQL
5. Docker

## Требования к запуску
Docker и Docker Compose

## Запуск
Чтобы запустить проект, в корне запустите команду
```console
$ docker compose up -d
```
По умолчанию проект запустится по адресу <a href="http://localhost/">localhost</a>.
API будет по адресу <a href="http://localhost/api">localhost/api</a>.

## Креды тестового пользователя
Логин: `test@test.test`
Пароль: `testtest`
Тестовый куки, который работает 8 часов с 18ч 24.05.204: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImlkIjoxLCJmaXJzdE5hbWUiOiJmaXJzdCIsImxhc3ROYW1lIjoic2Vjb25kIiwiZW1haWwiOiJ0ZXN0QHRlc3QudGVzdCJ9LCJleHAiOjE3MTY1OTE3NTIuODIyNDN9.pg7vLJFX_lIicz1AY5IvMwebNwgPLVV6_EmSkcLcZ6A`

## Настройки
В файле `docker-compose.yaml` есть несколько параметров для приложения:
1. `SECRET_KEY` - ключ для шифрования куки
2. `BACKEND_ROOT_PATH` - адрес, с которого начинается backend (в данном случае `/api`)

Для базы данных PostgreSQL:
1. `POSTGRES_USER` - имя пользователя базы данных
2. `POSTGRES_PASSWORD` - пароль
3. `POSTGRES_DB` - название базы данных
4. `POSTGRES_PORT` - порт базы данных
5. `POSTGRES_SERVER` - название бд в Docker

## Swagger UI
После запуска, Swagger UI распологается по адресу <a href="http://localhost:8000/api/docs">localhost/api/docs</a>.

## Postman Collection
`WeatherForecast API.postman_collection.json`

## Проблемы
1. Получение POI работает только на малом регионе...
2. Иногда почему то при переходе на сайт, сайт перенаправляет на `/application`. Не успел разобраться с этим, поэтому решение в лоб: заменить `application` на `index.php`.
